﻿// ReSharper disable once CheckNamespace
// 限定为System，从而减少引用
namespace System
{
    /// <summary>
    /// 针对可空类型的扩展
    /// </summary>
    public static class NullableExtension
    {
        /// <summary>
        /// 扩展DateTime?的字符串的ToString方法，使之支持格式化器
        /// </summary>
        /// <param name="dateTime"></param>
        /// <param name="formatter"></param>
        /// <returns></returns>
        public static string ToString(this DateTime? dateTime, string formatter)
        {
            // ReSharper disable once PossibleInvalidOperationException
            // 按照逻辑，i在引用Value的时候不可能为null
            return dateTime.IfNotNull(i => i.Value.ToString(formatter));
        }
    }
}
